package sv.gob.mh.dgii.model;

// Generated Dec 10, 2007 4:52:21 PM by Hibernate Tools 3.2.0.beta7

import java.sql.Blob;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CgCtrlCorresp generated by hbm2java
 */
@Entity
@Table(name = "CG_CTRL_CORRESP", schema = "UPET", uniqueConstraints = {})
public class CgCtrlCorresp implements java.io.Serializable {

	// Fields    

	/**
	 * 
	 */
	private static final long serialVersionUID = 1095586022923325213L;

	private Long nctrlCorresp;

	private CgCaso cgCaso;

	private TbUnidad tbUnidad;

	private CgPlantillaCorresp cgPlantillaCorresp;

	private String snombreArchivo;

	private String cusuario;

	private Date fhingreso;
	
	private Integer bingresoExtra;
	
	private Integer bnotificado;
	
	private Blob sarchivo;

	private Set<CgNotificacion> cgNotificacions = new HashSet<CgNotificacion>(0);

	// Constructors

	/** default constructor */
	public CgCtrlCorresp() {
	}

	/** minimal constructor */
	public CgCtrlCorresp(Long nctrlCorresp, CgCaso cgCaso,
			TbUnidad tbUnidad, CgPlantillaCorresp cgPlantillaCorresp) {
		this.nctrlCorresp = nctrlCorresp;
		this.cgCaso = cgCaso;
		this.tbUnidad = tbUnidad;
		this.cgPlantillaCorresp = cgPlantillaCorresp;
	}

	/** full constructor */
	public CgCtrlCorresp(Long nctrlCorresp, CgCaso cgCaso,
			TbUnidad tbUnidad, CgPlantillaCorresp cgPlantillaCorresp,
			String snombreArchivo, String cusuario, Date fhingreso,
			Integer bingresoExtra, Integer bnotificado, Blob sarchivo,
			Set<CgNotificacion> cgNotificacions) {
		this.nctrlCorresp = nctrlCorresp;
		this.cgCaso = cgCaso;
		this.tbUnidad = tbUnidad;
		this.cgPlantillaCorresp = cgPlantillaCorresp;
		this.snombreArchivo = snombreArchivo;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.bingresoExtra = bingresoExtra;
		this.bnotificado = bnotificado;
		this.cgNotificacions = cgNotificacions;
		this.sarchivo = sarchivo;
	}

	// Property accessors
	@Id
	@Column(name = "N_CTRL_CORRESP", unique = true, nullable = false, insertable = true, updatable = true, precision = 22, scale = 0)
	public Long getNctrlCorresp() {
		return this.nctrlCorresp;
	}

	public void setNctrlCorresp(Long nctrlCorresp) {
		this.nctrlCorresp = nctrlCorresp;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "N_CASO", unique = false, nullable = false, insertable = true, updatable = true)
	public CgCaso getCgCaso() {
		return this.cgCaso;
	}

	public void setCgCaso(CgCaso cgCaso) {
		this.cgCaso = cgCaso;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "C_UNIDAD", unique = false, nullable = false, insertable = true, updatable = true)
	public TbUnidad getTbUnidad() {
		return this.tbUnidad;
	}

	public void setTbUnidad(TbUnidad tbUnidad) {
		this.tbUnidad = tbUnidad;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "C_PLANTILLA", unique = false, nullable = false, insertable = true, updatable = true)
	public CgPlantillaCorresp getCgPlantillaCorresp() {
		return this.cgPlantillaCorresp;
	}

	public void setCgPlantillaCorresp(CgPlantillaCorresp cgPlantillaCorresp) {
		this.cgPlantillaCorresp = cgPlantillaCorresp;
	}

	@Column(name = "S_NOMBRE_ARCHIVO", unique = false, nullable = true, insertable = true, updatable = true, length = 100)
	public String getSnombreArchivo() {
		return this.snombreArchivo;
	}

	public void setSnombreArchivo(String snombreArchivo) {
		this.snombreArchivo = snombreArchivo;
	}

	@Column(name = "C_USUARIO", unique = false, nullable = true, insertable = true, updatable = true, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Column(name = "S_ARCHIVO", unique = false, nullable = true, insertable = true, updatable = true)
	public Blob getSarchivo() {
		return sarchivo;
	}

	public void setSarchivo(Blob sarchivo) {
		this.sarchivo = sarchivo;
	}
	
	@OneToMany( fetch = FetchType.LAZY, mappedBy = "cgCtrlCorresp")
	public Set<CgNotificacion> getCgNotificacions() {
		return this.cgNotificacions;
	}

	public void setCgNotificacions(Set<CgNotificacion> cgNotificacions) {
		this.cgNotificacions = cgNotificacions;
	}

	@Column(name = "B_INGRESO_EXTRA", nullable = false, precision = 1, scale = 0)
	public Integer getBingresoExtra() {
		return bingresoExtra;
	}

	public void setBingresoExtra(Integer bingresoExtra) {
		this.bingresoExtra = bingresoExtra;
	}

	@Column(name = "B_NOTIFICADO", nullable = false, precision = 1, scale = 0)
	public Integer getBnotificado() {
		return bnotificado;
	}

	public void setBnotificado(Integer bnotificado) {
		this.bnotificado = bnotificado;
	}

}
